package com.roc.dao.setting;
/**
 * @author FengHaiTao
 * 
 */
import java.util.List;
import java.util.Map;

import com.roc.dao.DaoException;
import com.roc.dao.IBaseDao;
import com.roc.pojo.AuditingItem;
import com.roc.pojo.CalcuBean;
import com.roc.pojo.DuizhangBean;
import com.roc.pojo.Operators;
import com.roc.pojo.SettFlagBean;
import com.roc.pojo.SettingBean;
import com.roc.pojo.SettingItemBean;
import com.roc.service.ServiceException;
import com.roc.web.action.setting.CalcuSearchCondition;
import com.roc.web.action.setting.ReviewSettingSearchCondition;

public interface ISettingFlagDao extends IBaseDao{
	//查询所有结算标示。
	List<SettFlagBean> querySettingFlagList()throws DaoException;
	//代理商初审
	boolean frozenApply(AuditingItem auditing,SettingBean sett) throws DaoException;
	//查询清算总金额
	List<Object> querycalcuSummoney(CalcuSearchCondition searchCondition)throws DaoException;
	//查询结算信息
	SettingBean querySettingBean(String id) throws DaoException;
	//查询结算状态的条数
	int queryStatusCount(List<Long> iddlist)throws DaoException;
	//查询结算总金额
	double querySummoney(ReviewSettingSearchCondition searchCondition)throws DaoException;
	//调用清算存储过程
	void excuCalcuPro()throws DaoException;
	//自动调用快钱一机一码结算存储过程
	
	void excuSettingPro()throws DaoException;
	//自动调用普通结算存储过程
	void excuSettingLoadPro()throws DaoException;
	//手动调用快钱一机一码结算存储过程
	int excuKQSettingPro(String minDate,String maxDate)throws DaoException;
	//手动调用普通结算存储过程
	int excuHRTSettingPro(String minDate,String maxDate)throws DaoException;
	//调用清洗数据存储过程
	void excuCleanDatePro()throws DaoException;
	//获取最大的settingitem中serid
	String maxserid(String settdate)throws DaoException;
	//结算审核
	boolean reviewsetting(AuditingItem auditing,SettingBean sett,List<SettingItemBean> list) throws DaoException;
	
	void updatesetting(String id)throws DaoException;
	
	void updatesetting(String serial,String settdate,String stuts)throws DaoException;
	void updatesetitem(String serial,String settdate,String stuts)throws DaoException;
	
	int setitemcount(String serial,String settdate)throws DaoException;
	int setitemtotalcount(String serial,String settdate)throws DaoException;
	CalcuBean queryCalcuBean(String date,String time,String amount)throws DaoException;
	
	//插入差错账
	boolean insertCHZ(Map<String,DuizhangBean> map,Map<String,DuizhangBean> map1) throws DaoException;
	 String selectreversal(String etstrace,String etsdate,String etstime)throws DaoException;
	 int updatecalcu(DuizhangBean dz)throws DaoException;
	//查询可冻结的清算记录数
	int querycaucleStatusCount(List<String> iddlist,String bathno)throws DaoException;
	//查询结算信息
	SettingBean querySettingBean(String merchantno,String bathno) throws DaoException;
	int updatecalcu(List<String> iddlist,String bathno,String ordno)throws DaoException;
	
	 List<Object> querySUM(String bathno,List<String> iddlist)throws DaoException;
	 
	 
	 int queryTrancount(DuizhangBean db)throws DaoException;
	 int queryDZcount(DuizhangBean db)throws DaoException;
	 void deleteDZ(DuizhangBean db) throws DaoException ;
	 String selectExcelName(String modelflag,String excelflag) throws DaoException ;
	 String getsettid()throws DaoException;
}
